package com.example.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.example.pojo.Emp;
import com.example.pojo.Role;
import com.example.vo.ResultVo;
import com.example.vo.respvo.EmpVo;
import com.github.pagehelper.PageInfo;
import javax.servlet.http.HttpServletRequest;
import java.util.List;

/**
 * <p>
 * 员工表 服务类
 * </p>
 *
 * @author wsl
 * @since 2022-04-11
 */
public interface IEmpService extends IService<Emp> {
    /**
     * 查询所有信息
     * @return
     */
    ResultVo getEmpOptions();

    /**
     * 查询员工表分页信息
     * @return
     * @param pageNum
     * @param pageSize
     * @param empName
     * @param workId
     * @param positionId
     * @param deptId
     * @param companyName
     */
    PageInfo<Emp> getEmpPageInfo(Integer pageNum, Integer pageSize, String empName, String workId, Integer positionId, Integer deptId, String companyName);

    /**
     * 根据部门查询员工
     * @param deptId
     * @return
     */
    ResultVo getEmpsByDeptId(Integer deptId);

    Emp getEmpByUserName(String username);

    /**
     * 根据员工编号查询角色列表
     * @param empId
     * @return
     */
    List<Role> getRolesByEmpId(Integer empId);

    /**
     * 重置用户密码
     * @param emp
     * @return
     */
    ResultVo replacementUserPwd(Emp emp);
    /**
     * 查询 排班员工
     * @param deptId
     */
    List<EmpVo> byWorkSceduleList(Integer deptId);

    /**
     * 修改用户密码
     * @param request
     * @param oldPwd
     * @param newOld
     * @return
     */
    ResultVo updateUserPwd(HttpServletRequest request, String oldPwd, String newOld);


    /**
     * 根据部门查员工信息
     */
    List<Emp> getDeptEmp(String deptName);
}
